/*
 * Copyright (C) 2017 MediaTek Inc.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 */

#ifndef _MTK_MDPM_PLATFORM_DATA_H_
#define _MTK_MDPM_PLATFORM_DATA_H_

static struct scenario_power_type_t md_scen_power[SCENARIO_NUM] = {
	[S_STANDBY]		= {    1,    1},
	[S_2G_IDLE]		= {    1,    1},
	[S_2G_NON_IDLE]		= {   62,   62},
	[S_C2K_DATALINK]	= {   86,   86},
	[S_C2K_SHDR]		= {   50,   50},
	[S_C2K_1X_TRAFFIC]	= {   83,   83},
	[S_3G_TDD_PAGING]	= {    4,    4},
	[S_3G_TDD_TALKING]	= {   82,   82},
	[S_3G_TDD_DATALINK]	= {   77,   77},
	[S_3G_IDLE]		= {    4,    4},
	[S_3G_WCDMA_TALKING]	= {   83,   83},
	[S_3G_1C]		= {  122,  122},
	[S_3G_2C]		= {  138,  138},
	[S_4G_0D0U]		= {    4,    4},
	[S_4G_1CC]		= {  134,  134},
	[S_4G_2CC]		= {  199,  199},
	[S_4G_3CC]		= {  528,  528},
	[S_4G_4CC]		= {  574,  574},
	[S_4G_5CC]		= {  574,  574},
	[S_5G_1CC_2CC]		= {  466,  466},
	[S_5G_1CC_2CC_4G_4CC]	= {  631,  631},
	[S_5G_1CC_2CC_4G_1CC]	= {  854,  854},
	[S_4G_POS_URGENT]	= {  556,  556}
};

static struct rfhw_power_t rfhw0[TX_DBM_NUM] = {
	[TX_2G_DBM] = {
		.pa_power = {
			{  680,  420,  340,  268,  212,  172,
			   144,  120,  100,   86,   73,   60},   /*MAX*/
			{  680,  420,  340,  268,  212,  172,
			   144,  120,  100,   86,   73,   60} }, /*AVG*/
		.rf_power = {
			{  117,  117,  117,  117,  117,  117,
			   117,  117,  117,  117,  117,  117},   /*MAX*/
			{  117,  117,  117,  117,  117,  117,
			   117,  117,  117,  117,  117,  117} }, /*AVG*/
		.section = {
			31, 29, 27, 25, 23, 21, 19, 17, 15, 13,  9,  0}
	},

	[TX_3G_DBM] = {
		.pa_power = {
			{ 2710, 1530, 1360, 1065,  980,  734,
			   721,  516,  465,  316,  272,  135},   /*MAX*/
			{ 2710, 1530, 1360, 1065,  980,  734,
			   721,  516,  465,  316,  272,  135} }, /*AVG*/
		.rf_power = {
			{  297,  286,  257,  251,  247,  245,
			   242,  240,  223,  220,  218,  201},   /*MAX*/
			{  297,  286,  257,  251,  247,  245,
			   242,  240,  223,  220,  218,  201} }, /*AVG*/
		.section = {
			23, 22, 21, 20, 19, 18, 16, 14, 11,  7,  2,  0}
	},

	[TX_3GTDD_DBM] = {
		.pa_power = {
			{ 2710, 1530, 1360, 1065,  980,  734,
			   721,  516,  465,  316,  272,  135},   /*MAX*/
			{ 2710, 1530, 1360, 1065,  980,  734,
			   721,  516,  465,  316,  272,  135} }, /*AVG*/
		.rf_power = {
			{  297,  286,  257,  251,  247,  245,
			   242,  240,  223,  220,  218,  201},   /*MAX*/
			{  297,  286,  257,  251,  247,  245,
			   242,  240,  223,  220,  218,  201} }, /*AVG*/
		.section = {
			23, 22, 21, 20, 19, 18, 16, 14, 11,  7,  2,  0}
	},

	[TX_4G_CC0_DBM] = {
		.pa_power = {
			{ 3410, 2261, 1695, 1262, 1135,  872,
			   794,  551,  489,  376,  285,  136},   /*MAX*/
			{ 3410, 2261, 1695, 1262, 1135,  872,
			   794,  551,  489,  376,  285,  136} }, /*AVG*/
		.rf_power = {
			{  325,  307,  301,  294,  261,  259,
			   257,  249,  230,  220,  214,  213},   /*MAX*/
			{  325,  307,  301,  294,  261,  259,
			   257,  249,  230,  220,  214,  213} }, /*AVG*/
		.section = {
			23, 22, 21, 20, 19, 18, 16, 14, 13,  9,  4,  0}
	},

	[TX_4G_CC1_DBM] = {
		.pa_power = {
			{ 3410, 2261, 1695, 1262, 1135,  872,
			   794,  551,  489,  376,  285,  136},   /*MAX*/
			{ 3410, 2261, 1695, 1262, 1135,  872,
			   794,  551,  489,  376,  285,  136} }, /*AVG*/
		.rf_power = {
			{  325,  307,  301,  294,  261,  259,
			   257,  249,  230,  220,  214,  213},   /*MAX*/
			{  325,  307,  301,  294,  261,  259,
			   257,  249,  230,  220,  214,  213} }, /*AVG*/
		.section = {
			23, 22, 21, 20, 19, 18, 16, 14, 13,  9,  4,  0}
	},

	[TX_C2K_DBM] = {
		.pa_power = {
			{ 2506, 2174, 1904, 1561, 1254, 1098,
			   958,  644,  456,  290,  195,  129},   /*MAX*/
			{ 2506, 2174, 1904, 1561, 1254, 1098,
			   958,  644,  456,  290,  195,  129} }, /*AVG*/
		.rf_power = {
			{  263,  259,  253,  244,  233,  229,
			   224,  203,  199,  192,  176,  158},   /*MAX*/
			{  263,  259,  253,  244,  233,  229,
			   224,  203,  199,  192,  176,  158} }, /*AVG*/
		.section = {
			24, 23, 22, 21, 19, 18, 16, 14, 11, 7,  3,  0}
	},

	[TX_NR_CC0_DBM] = {
		.pa_power = {
			{ 4700, 4640, 4580, 3800, 3720, 2142,
			   944,  826,  694,  584,  484,  266},   /*MAX*/
			{ 4700, 4640, 4580, 3800, 3720, 2142,
			   944,  826,  694,  584,  484,  266} }, /*AVG*/
		.rf_power = {
			{  496,  493,  477,  476,  454,  444,
			   449,  439,  435,  426,  426,  419},   /*MAX*/
			{  496,  493,  477,  476,  454,  444,
			   449,  439,  435,  426,  426,  419} }, /*AVG*/
		.section = {
			23, 22, 20, 18, 17, 14, 12, 10,  7,  4,  1,  0}
	},

	[TX_NR_CC1_DBM] = {
		.pa_power = {
			{ 4700, 4640, 4580, 3800, 3720, 2142,
			   944,  826,  694,  584,  484,  266},   /*MAX*/
			{ 4700, 4640, 4580, 3800, 3720, 2142,
			   944,  826,  694,  584,  484,  266} }, /*AVG*/
		.rf_power = {
			{  496,  493,  477,  476,  454,  444,
			   449,  439,  435,  426,  426,  419},   /*MAX*/
			{  496,  493,  477,  476,  454,  444,
			   449,  439,  435,  426,  426,  419} }, /*AVG*/
		.section = {
			23, 22, 20, 18, 17, 14, 12, 10,  7,  4,  1,  0}
	}
};

static struct rfhw_power_t rfhw1[TX_DBM_NUM] = {
	[TX_2G_DBM] = {
		.pa_power = {
			{  680,  420,  340,  268,  212,  172,
			   144,  120,  100,   86,   73,   60},   /*MAX*/
			{  680,  420,  340,  268,  212,  172,
			   144,  120,  100,   86,   73,   60} }, /*AVG*/
		.rf_power = {
			{  117,  117,  117,  117,  117,  117,
			   117,  117,  117,  117,  117,  117},   /*MAX*/
			{  117,  117,  117,  117,  117,  117,
			   117,  117,  117,  117,  117,  117} }, /*AVG*/
		.section = {
			31, 29, 27, 25, 23, 21, 19, 17, 15, 13,  9,  0}
	},

	[TX_3G_DBM] = {
		.pa_power = {
			{ 2710, 1530, 1360, 1065,  980,  734,
			   721,  516,  465,  316,  272,  135},   /*MAX*/
			{ 2710, 1530, 1360, 1065,  980,  734,
			   721,  516,  465,  316,  272,  135} }, /*AVG*/
		.rf_power = {
			{  297,  286,  257,  251,  247,  245,
			   242,  240,  223,  220,  218,  201},   /*MAX*/
			{  297,  286,  257,  251,  247,  245,
			   242,  240,  223,  220,  218,  201} }, /*AVG*/
		.section = {
			23, 22, 21, 20, 19, 18, 16, 14, 11,  7,  2,  0}
	},

	[TX_3GTDD_DBM] = {
		.pa_power = {
			{ 2710, 1530, 1360, 1065,  980,  734,
			   721,  516,  465,  316,  272,  135},   /*MAX*/
			{ 2710, 1530, 1360, 1065,  980,  734,
			   721,  516,  465,  316,  272,  135} }, /*AVG*/
		.rf_power = {
			{  297,  286,  257,  251,  247,  245,
			   242,  240,  223,  220,  218,  201},   /*MAX*/
			{  297,  286,  257,  251,  247,  245,
			   242,  240,  223,  220,  218,  201} }, /*AVG*/
		.section = {
			23, 22, 21, 20, 19, 18, 16, 14, 11,  7,  2,  0}
	},

	[TX_4G_CC0_DBM] = {
		.pa_power = {
			{ 3410, 2261, 1695, 1262, 1135,  872,
			   794,  551,  489,  376,  285,  136},   /*MAX*/
			{ 3410, 2261, 1695, 1262, 1135,  872,
			   794,  551,  489,  376,  285,  136} }, /*AVG*/
		.rf_power = {
			{  325,  307,  301,  294,  261,  259,
			   257,  249,  230,  220,  214,  213},   /*MAX*/
			{  325,  307,  301,  294,  261,  259,
			   257,  249,  230,  220,  214,  213} }, /*AVG*/
		.section = {
			23, 22, 21, 20, 19, 18, 16, 14, 13,  9,  4,  0}
	},

	[TX_4G_CC1_DBM] = {
		.pa_power = {
			{ 3410, 2261, 1695, 1262, 1135,  872,
			   794,  551,  489,  376,  285,  136},   /*MAX*/
			{ 3410, 2261, 1695, 1262, 1135,  872,
			   794,  551,  489,  376,  285,  136} }, /*AVG*/
		.rf_power = {
			{  325,  307,  301,  294,  261,  259,
			   257,  249,  230,  220,  214,  213},   /*MAX*/
			{  325,  307,  301,  294,  261,  259,
			   257,  249,  230,  220,  214,  213} }, /*AVG*/
		.section = {
			23, 22, 21, 20, 19, 18, 16, 14, 13,  9,  4,  0}
	},

	[TX_C2K_DBM] = {
		.pa_power = {
			{ 2506, 2174, 1904, 1561, 1254, 1098,
			   958,  644,  456,  290,  195,  129},   /*MAX*/
			{ 2506, 2174, 1904, 1561, 1254, 1098,
			   958,  644,  456,  290,  195,  129} }, /*AVG*/
		.rf_power = {
			{  263,  259,  253,  244,  233,  229,
			   224,  203,  199,  192,  176,  158},   /*MAX*/
			{  263,  259,  253,  244,  233,  229,
			   224,  203,  199,  192,  176,  158} }, /*AVG*/
		.section = {
			24, 23, 22, 21, 19, 18, 16, 14, 11, 7,  3,  0}
	},

	[TX_NR_CC0_DBM] = {
		.pa_power = {
			{ 4700, 4640, 4580, 3800, 3720, 2142,
			   944,  826,  694,  584,  484,  266},   /*MAX*/
			{ 4700, 4640, 4580, 3800, 3720, 2142,
			   944,  826,  694,  584,  484,  266} }, /*AVG*/
		.rf_power = {
			{  496,  493,  477,  476,  454,  444,
			   449,  439,  435,  426,  426,  419},   /*MAX*/
			{  496,  493,  477,  476,  454,  444,
			   449,  439,  435,  426,  426,  419} }, /*AVG*/
		.section = {
			23, 22, 20, 18, 17, 14, 12, 10,  7,  4,  1,  0}
	},

	[TX_NR_CC1_DBM] = {
		.pa_power = {
			{ 4700, 4640, 4580, 3800, 3720, 2142,
			   944,  826,  694,  584,  484,  266},   /*MAX*/
			{ 4700, 4640, 4580, 3800, 3720, 2142,
			   944,  826,  694,  584,  484,  266} }, /*AVG*/
		.rf_power = {
			{  496,  493,  477,  476,  454,  444,
			   449,  439,  435,  426,  426,  419},   /*MAX*/
			{  496,  493,  477,  476,  454,  444,
			   449,  439,  435,  426,  426,  419} }, /*AVG*/
		.section = {
			23, 22, 20, 18, 17, 14, 12, 10,  7,  4,  1,  0}
	}

};

#endif /* _MTK_MDPM_PLATFORM_DATA_H_ */
